package com.cy.pj.sys.dao;

import com.cy.pj.sys.pojo.SysUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

@Mapper
public interface SysUserDao {
        /**
         * 分页查询用户以及用户对应部门相关信息
         * @param entity 封装了查询条件的对象
         * @return 查询到的用户信息,表中的一行记录映射为内存中一个
        SysUser 对象
         */
        List<SysUser> selectUsers(SysUser entity);
        /**
         * 禁用启用操作
         * @param id  用户id
         * @param valid 状态值
         * @param modifiedUser 修改者
         * @return
         */
        @Update("update sys_users set valid=#{valid},modifiedTime=now(),modifiedUser=#{modifiedUser},where id=#{id}")
        int validById(Integer id,Integer valid,String modifiedUser);
        /**
         * 保存用户自身信息(用户信息中密码要求是已加密的密码)
         * @param entity
         * @return
         */
        int insertUser(SysUser entity);
        /**
         * 基于 id 查询用户信息
         * @param id
        培优 齐雷- qilei@tedu.cn
        24
         * @return
         */
        SysUser selectById(Integer id);
        /**
         * 更新用户自身信息(这里的更新不更新密码)
         * @param entity
         * @return
         */
        int updateUser(SysUser entity);

        @Select("select * from sys_users where username =#{username}")
        SysUser selectUserByUserName(String username);
}
